iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0

第一次寫智慧合約的部署小作業,交作業了。介面操作上沒想像中的複雜,是因為都還只是在 Remix IDE 內進行。都是練習而已,沒有任何需要花錢的交易發生。幾個關鍵步驟:撰寫 ERC20 合約程式碼、compile 編譯程式碼成 bytecode、deploy 部署合約。最後是測試合約的 functions,使用者互動測試。

這次先練習複製貼上程式碼。快速照抄別人寫好的簡易版 ERC20 合約程式碼 .sol 後,緊接著一個關鍵的步驟是,要進行程式碼編譯 compile,把程式碼變成 EVM,Ethereum Virtual Machine (EVM) 能夠看得懂的二進位 contract bytecode。

https://ithelp.ithome.com.tw/upload/images/20240915/20169297c612LEWT5O.png

而在 Remix IDE 的環境,compile 完的 bytecode 會是給一個 Remix 自己開發的 Remix VM,可以想成是假的 EVM,一個模擬的 EVM。預設的這個 Remix VM,之前的名字是叫 JavaScript VM。

現在在 Remix 介面上看到的,是寫「Remix VM (Cancun)」。不知道為什麼外國人好像都喜歡用一些城市名字來命名。像是這裡寫 Cancun 坎昆,是墨西哥一個熱門觀光城市,很多歐美觀光客喜歡去那邊海邊度假。之前有一年的以太坊技術大會活動就在墨西哥坎昆舉行。除了 Remix VM 坎昆,還有上海、巴黎、倫敦、柏林這些城市。都是過去幾年曾經辦過以太坊技術研討會的城市。基本上是跟著 Ethereum Virtual Machine (EVM) 取名。

https://ithelp.ithome.com.tw/upload/images/20240915/20169297qSjqYsuTpM.png]

Compile ERC20.sol 程式碼編譯步驟完成,接著按古銅色的 Deploy 部署。Deploy 部署合約實際上是把合約二進位 bytecode 放到以太坊 world state 底下的一個合約帳戶 contract account。

https://ithelp.ithome.com.tw/upload/images/20240915/20169297Wb4FRkMeN3.png

沒有出現什麼錯誤訊息的話,那應該就是成功了。部署成功會顯示在畫面左下角,最下方的區域 Deployed/Unpinned Contracts。這塊區域有跑出東西的話,就表示有部署完成。

https://ithelp.ithome.com.tw/upload/images/20240915/20169297PKIE6mPsbw.png

是不是看起來很小,很不起眼。展開它可看詳細的內容,比如說可以看餘額、做了幾筆交易,發送了多少錢等等。

https://ithelp.ithome.com.tw/upload/images/20240915/20169297BexGm6oMzh.png

成功部署智慧合約後,可以直接發送幾個交易看看。從一個地址,發一些代幣到另一個地址。大概就是如此。沒有花真的 testnet 測試幣來做合約部署,是否有一小點無趣嗎。


上一篇
ERC20 程式碼解析 decimals 和 _mint 鑄造在寫什麼
下一篇
合約實際上在以太坊是怎麼運作的?
系列文
合約開發特訓班30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言